package com.rnkrsoft.suyan.config.server.ajax.authority;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class AuthorityContext {
    /**
     * 产品代码
     */
    String product;
    /**
     * 功能代码
     */
    String action;
    /**
     * 版本号
     */
    String version;
    /**
     * 操作代码
     */
    String operate;
    /**
     * 用户号
     */
    Integer userId;
    /**
     * 用户名
     */
    String userName;
    /**
     * 用户头像
     */
    String userAvatar;
    /**
     * 昵称
     */
    String nickName;
    /**
     * 手机号码
     */
    String mobileNo;
    /**
     * 会话令牌
     */
    String token;
    /**
     * 上次登录时间戳
     */
    Long lastLoginTime;
    /**
     * 上次活动时间戳
     */
    Long lastActiveTime;
    /**
     * 重定向地址
     */
    String redirectURL;
    /**
     * 错误代码
     */
    String code;
    /**
     * 错误描述
     */
    String desc;
    /**
     * 当前部门
     */
    Department currentDepartment;
    /**
     * 所有部门
     */
    final List<Department> departments = new ArrayList<Department>();
    /**
     * 基本URL
     */
    String baseURL;
    /**
     * 是否已经终止
     * @return 返回真，说明提取权限失败
     */
    public boolean isTermination(){
        return code != null;
    }

    /**
     * 是否需要重定向
     * @return 返回真，说明执行重定向操作
     */
    public boolean isRedirect(){
        return redirectURL != null;
    }

}
